<!-- HTML header for doxygen 1.11.0-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.11.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: Additional Documentation</title>
<link rel="icon" href="doxygen.ico" type="image/x-icon" />
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen_manual.css" rel="stylesheet" type="text/css"/>
<link href="extra.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectlogo"><a href="../index.html"><img alt="Logo" src="doxygen_logo.svg" height="35px"/></a></td>
  <td class="menu-item"><a href="index.html">Docs</a></td>
  <td class="menu-item"><a href="changelog.html">Changelog</a></td>
  <td class="menu-item"><a href="../helpers.html">Extensions</a></td>
  <td class="menu-item"><a href="../examples.html">Examples</a></td>
  <td class="menu-spacer">&#160;</td>
  <td class="menu-item" id="download">
      <img class="download-icon" src="../assets/download.svg" width="16px" height="16px" alt="Download doxygen"/>
      <a href="../download.html">Download</a>
  </td>
  <td class="menu-item" id="donate">
     <form action="https://www.paypal.com/cgi-bin/webscr" method="post" class="nav-item d-inline-flex px-1 mx-1">
       <input type="hidden" name="cmd" value="_donations" />
       <input type="hidden" value="doxygen@gmail.com" name="business" />
       <input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted" />
       <input type="hidden" name="lc" value="US" />
       <input type="hidden" name="tax" value="0" />
       <input type="hidden" name="item_name" value="Doxygen donation" />
       <input type="hidden" name="no_shipping" value="1" />
       <table class="donate">
         <tr>
           <td class="donate-button"><input type="image" width="74" height="21"
               src="https://www.paypal.com/en_GB/i/btn/btn_donate_SM.gif" border="0" name="submit"
               alt="Donate to Doxygen with PayPal!" /></td>
         </tr>
         <tr>
           <td class="currency"><select size="1" name="currency_code">
               <option selected="selected" value="EUR">&euro; (EUR)</option>
               <option value="USD">$ (USD)</option>
             </select></td>
         </tr>
       </table>
     </form>
   </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.11.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
     <div id="nav-tree-ads-carbon">
       <script async type="text/javascript" src="https://cdn.carbonads.com/carbon.js?serve=CK7DTK3M&placement=stacknl" id="_carbonads_js"></script>
     </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('additional.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div><div class="header">
  <div class="headertitle"><div class="title">Additional Documentation</div></div>
</div><!--header-->
<div class="contents">
<div class="toc"><h3>Table of Contents</h3>
<ul><li class="level1"><a href="additional.html#custom_pages">Custom Pages</a></li>
<li class="level1"><a href="additional.html#scaling">Scaling Up</a><ul><li class="level2"><a href="additional.html#automatically_adding_files">Automatically Adding Files</a></li>
<li class="level2"><a href="additional.html#treeview">Side Panel Treeview</a></li>
</ul>
</li>
</ul>
</div>
<div class="textblock"><h1><a class="anchor" id="custom_pages"></a>
Custom Pages</h1>
<p><code>doxygen</code> can be also be used to create custom pages that are not part of the API of your library/program. The purpose of such pages is to enrich your documentation with anything else that you think the user may find useful.</p>
<p>To create custom pages, use one of the supported file extension: <code>.dox</code>, <code>.txt</code>, or <code>.md</code>. Doxygen will treat a .dox or .txt file as a C/C++ source file, and a .md file as a Markdown file.</p>
<p>For a .dox or .txt file, one can use a single doxygen comment, like so:</p>
<p><code>manual/index.dox</code> </p><div class="fragment"><div class="line"><span class="comment">/** \mainpage My Library Manual</span></div>
<div class="line"><span class="comment">- Building</span></div>
<div class="line"><span class="comment">- Basics</span></div>
<div class="line"><span class="comment">- Examples</span></div>
<div class="line"><span class="comment">*/</span></div>
</div><!-- fragment --><p>You'll note that the <a class="el" href="commands.html#cmdmainpage">\mainpage</a> command was used, which tells doxygen to use this page as, well, the main page. For other pages, prefix them with the <a class="el" href="commands.html#cmdpage">\page</a> command.</p>
<p>By default doxygen will not know about these custom files, so we'll need to let it know through the <code>INPUT</code> attribute in our Doxyfile. For the about example add this line to your Doxyfile:</p>
<div class="fragment"><div class="line">INPUT  = manual/index.dox</div>
</div><!-- fragment --><p>Next, we may want to add the instructions on how to build the project, so we create <code>manual/building/index.dox</code>. As you read a bit more of the documentation, you will find out that doxygen supports a subset of the <a class="el" href="htmlcmds.html">HTML</a> tags, so we can write the following:</p>
<div class="fragment"><div class="line"><span class="comment">/** \page Building</span></div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">&lt;h2&gt;Linux&lt;/h2&gt;</span></div>
<div class="line"><span class="comment">&lt;p&gt;</span></div>
<div class="line"><span class="comment">  A simple way to build this project is with cmake, clone the repository, cd into the root of the project and run:</span></div>
<div class="line"><span class="comment">&lt;/p&gt;</span></div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">&lt;pre&gt;</span></div>
<div class="line"><span class="comment">  &lt;code&gt;</span></div>
<div class="line"><span class="comment">    mkdir my_build</span></div>
<div class="line"><span class="comment">    cmake -S . -B my_build</span></div>
<div class="line"><span class="comment">    cd my_build</span></div>
<div class="line"><span class="comment">    cmake --build .</span></div>
<div class="line"><span class="comment">  &lt;/code&gt;</span></div>
<div class="line"><span class="comment">&lt;/pre&gt;</span></div>
<div class="line"><span class="comment"></span> </div>
<div class="line"><span class="comment">*/</span></div>
</div><!-- fragment --><p>But you can of course also do the same using the popular <a class="el" href="markdown.html">Markdown</a> notation:</p>
<pre class="fragment"># Building

## Linux

A simple way to build this project is with cmake, clone the repository,
cd into the root of the project and run:

    mkdir my_build
    cmake -S . -B my_build
    cd my_build
    cmake --build .
</pre><h1><a class="anchor" id="scaling"></a>
Scaling Up</h1>
<h2><a class="anchor" id="automatically_adding_files"></a>
Automatically Adding Files</h2>
<p>At this point we could now go ahead and add <code>manual/building/index.dox</code> to our INPUT's with comma separation, but this might become annoying over time as we build up our manual, instead we'll just change it reference our manual folder:</p>
<div class="fragment"><div class="line">INPUT                  = manual/</div>
</div><!-- fragment --><p>And set</p>
<div class="fragment"><div class="line">RECURSIVE              = YES</div>
</div><!-- fragment --><p>To make sure as we add any subdirectories of the manual as we create more organization and content.</p>
<h2><a class="anchor" id="treeview"></a>
Side Panel Treeview</h2>
<p>As your manual scales up, you might want to also have a nice tree view to show you where you are in the manual to stay organized. This is easy enough to set up, turn it on with</p>
<div class="fragment"><div class="line">GENERATE_TREEVIEW      = YES</div>
</div><!-- fragment --><p>In your <code>Doxyfile</code>.</p>
<p>You'll recall that our <code>manual/index.dox</code> file is pretty bland, without any links pointing anywhere, by using the <a class="el" href="commands.html#cmdref">\ref</a> command we can add links between various topics, and doing so will automatically start to populate our treeview.</p>
<p>If you notice that your tree is more like a pile of leaves then you can remedy this by checking out <a class="el" href="grouping.html#subpaging">Subpaging</a>.</p>
<p>This discussion should give you some direction on how to build a scalable manual to enrich your documentation, from here you might want to customize your <a class="el" href="customize.html#layout">layout</a>. </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.11.0 </li>
  </ul>
</div>
</body>
</html>
